package cn.fl.mcr.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.mcr.vo.McrLoanBankVO;
import cn.lionbridgecapital.loan.model.dto.McrLoanBankDTO;


/**
 * @Description: 机构银行卡限制 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class McrLoanBankVOTransform {


	/**
	 * DTO 转  VO
	 * @param po McrLoanBankDTO
	 * @return McrLoanBankVO
	 */
	public static McrLoanBankVO toVO(McrLoanBankDTO dto) {
		McrLoanBankVO  vo = null;
		if (dto != null) { 
			vo = new McrLoanBankVO();
			vo.setId(dto.getId());
			vo.setLoanId(dto.getLoanId());//机构ID
			vo.setLoanChannel(dto.getLoanChannel());//机构编码
			vo.setLoanName(dto.getLoanName());//机构名称
			vo.setBankCode(dto.getBankCode());//银行卡编码
			vo.setBankName(dto.getBankName());//银行卡名称
			vo.setLoanType(dto.getLoanType());//放款状态
			vo.setRepayType(dto.getRepayType());//还款状态
			vo.setIsValid(dto.getIsValid());//是否有效
			vo.setIsDel(dto.getIsDel());//是否删除

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setWkBankCode(dto.getWkBankCode());
			vo.setYxLoanType(dto.getYxLoanType());
			vo.setYxRepayType(dto.getYxRepayType());
			vo.setWkLoanType(dto.getWkLoanType());
			vo.setWkRepayType(dto.getWkRepayType());
			vo.setSnLoanType(dto.getSnLoanType());
			vo.setSnRepayType(dto.getSnRepayType());
			vo.setYlLoanType(dto.getYlLoanType());
			vo.setYlRepayType(dto.getYlRepayType());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto McrLoanBankVO
	 * @return McrLoanBankDTO
	 */
	public static McrLoanBankDTO toDTO(McrLoanBankVO vo) {
		McrLoanBankDTO dto = null;
		if (vo != null) {
			dto = new McrLoanBankDTO();
			dto.setId(vo.getId());
			dto.setLoanId(vo.getLoanId());//机构ID
			dto.setLoanChannel(vo.getLoanChannel());//机构编码
			dto.setLoanName(vo.getLoanName());//机构名称
			dto.setBankCode(vo.getBankCode());//银行卡编码
			dto.setBankName(vo.getBankName());//银行卡名称
			dto.setLoanType(vo.getLoanType());//放款状态
			dto.setRepayType(vo.getRepayType());//还款状态
			dto.setIsValid(vo.getIsValid());//是否有效
			dto.setIsDel(vo.getIsDel());//是否删除

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setWkBankCode(vo.getWkBankCode());
			dto.setYxLoanType(vo.getYxLoanType());
			dto.setYxRepayType(vo.getYxRepayType());
			dto.setWkLoanType(vo.getWkLoanType());
			dto.setWkRepayType(vo.getWkRepayType());
			dto.setSnLoanType(vo.getSnLoanType());
			dto.setSnRepayType(vo.getSnRepayType());
			dto.setYlLoanType(vo.getYlLoanType());
			dto.setYlRepayType(vo.getYlRepayType());
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<McrLoanBankDTO>
	 * @return List<McrLoanBankVO>
	 */
	public static List<McrLoanBankVO> toVOList(List<McrLoanBankDTO> list) {
		List<McrLoanBankVO>  voList = new ArrayList<McrLoanBankVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (McrLoanBankDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<McrLoanBankVO>
	 * @return List<McrLoanBankDTO>
	 */
	public static List<McrLoanBankDTO> toDTOList(List<McrLoanBankVO> list) {
		List<McrLoanBankDTO>  dtoList = new ArrayList<McrLoanBankDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (McrLoanBankVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
